package main

import (
	"fmt"
	"unsafe"
)

func main() {
	var str string = "你好"
	fmt.Println(str)
	fmt.Printf("%s\n", str) //%s 表示字符串输出，并增加一个占位符

	//------------------------------------
	str1 := "云原生"
	str2 := "kubernetes"
	fmt.Println(str1 + str2)  //使用运算符+ 表示字符串连接
	fmt.Println(str1 == str2) //使用==表示字符串的比较，true或者false
	fmt.Println(len(str1))    //result-->6 一个中文对应三个字符，云占用3个字符，原占用3个字符，生占用3个字符

	//---知识点字符串占用字节大小--
	//string也是属于一个复合类型，我们可以在goland左侧源码中找到runtime包
	//mac下可以使用shift+command+o快速过滤文件字符找出
	//计算一个字符串在内存中占用的字节大小
	fmt.Println(unsafe.Sizeof(str1))
	/*
	type StringStruct struct {
	    point unsafe.Point//指针类型
	    len int //长度
	 */
}
